Navigator database search methods

ABSTRACT

Methods and associated apparatus allow a vehicle navigator to more efficiently search for locations in a database. According to one such method, a map is divided into tiles, and locations are associated within each tile with the tile the user is in. When queried by a user for a location, the system checks the tile currently occupied by the user to determine if it contains any of the desired locations. The system then checks the tile(s) adjacent to the currently occupied tile to determine if it contains any of the desired locations. The system then checks the tile(s) adjacent to b) to determine if it contains any of the desired locations, and the process is repeated, as necessary, until all tiles adjacent to tiles that have been checked are themselves checked that are to determine if locations matching the query are present. The position of the location(s) can then be communicated to the user. Alternative methods and system-level aspects of the invention are also disclosed.

REFERENCE TO RELATED APPLICATION

This application claims priority from U.S. Provisional Patent Application Ser. No. 60/916,130, filed May 4, 2007, the entire content of which is incorporated herein by reference.

FIELD OF THE INVENTION

This invention relates generally to vehicle navigation and, in particular, to methods and associated apparatus allowing a navigator to more efficiently search for locations in a database.

BACKGROUND OF THE INVENTION

A navigator is a device which provides guidance to a user as to how to travel from place to place. The guidance may include a map display, visual text instructions, or audible instructions.

In a wireless client-server (WCS) navigator, route searches and map generation are performed at a central location and transmitted to mobile units. The central server manages databases of geographical information and, in response to requests from the mobile clients, guidance in the form of maps, routes, and/or instructions are downloaded.

The engineering and business requirements of WCS navigation differ somewhat from those of standard standalone navigators. One major difference is that for WCS navigators, data transmission costs are a large part of the ongoing cost of operating the system. In order to economically provide WCS navigation, it is important to minimize the amount of data transmitted while still meeting customers' navigation needs.

SUMMARY OF THE INVENTION

This invention is directed to methods and associated apparatus allowing a vehicle navigator to more efficiently search for locations in a database. According to one such method, a map is divided into tiles, and locations are associated within each tile with the tile the user is in. When queried by a user for a location, the system checks the tile currently occupied by the user to determine if it contains any of the desired locations. The system then checks the tile(s) adjacent to the currently occupied tile to determine if it contains any of the desired locations. The system then checks the tile(s) adjacent to b) to determine if it contains any of the desired locations, and the process is repeated, as necessary, until all tiles adjacent to tiles that have been checked are themselves checked that are to determine if locations matching the query are present. The position of the location(s) can then be communicated to the user.

In the case of a unique location, the search ends when the desired location has been found. In the case of a class of locations, the search ends when the number of matching locations found meets or exceeds a predetermined number.

A method of providing guidance with a wireless client-server navigation system, comprising the steps of:

receiving, at a mobile client, criteria associated with a desired location;

transmitting data representative of the criteria to a central server;

searching a database at the server for locations matching the criteria;

transmitting data associated with found locations matching the criteria from the central server to the mobile client, including map data of a vicinity proximate to the found locations;

presenting at the mobile client representations of the found locations and associated data;

selecting one of the found locations at the mobile client; and

providing guidance to the mobile client in the form of a moving map display showing the location of the mobile client, the location of the selected location, and guidance for traveling to the selected location.

The location of the mobile client is preferably updated on a real-time basis. The data associated with the found locations may include contact information. Representations of additional distance or travel time required to add a found location to the user's current route may be provided. The user's current route may be amended to include the selected location. System-level aspects of the invention as also described and claimed.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a depiction of a navigator displaying additional route distances if displayed locations are added to the current route;

FIG. 2 shows a route updated to include a new destination;

FIG. 3 shows a map and a set of locations matching search criteria;

FIG. 4 shows the map of FIG. 3 divided into tiles;

FIG. 5 shows selection of a starting point for a destination search;

FIG. 6 shows the first step of the destination search;

FIG. 7 shows a continuation of the destination search;

FIG. 8 shows a further continuation of the destination search; and

FIG. 9 shows a destination search completed.

DETAILED DESCRIPTION OF THE INVENTION

This invention resides in methods and associated apparatus allowing a navigator to efficiently search for locations in a database. The locations may be unique locations, for example a particular person's home, or they may be a class of locations, such as fast food restaurants, gas stations, stores, points of interest, or any other desirable destination(s).

According to the invention a map is divided into tiles. A database of locations is then divided up so that locations within each tile of the map are associated with that tile. When the navigator is queried as to the position of a location, the navigator first checks to see if a location matching the query is within a particular tile, which may or may not be the tile currently occupied by the navigator. The navigator then checks the tiles adjacent to the first tile to see if locations matching the query are present.

This process is continued until the navigator checks all tiles that have not yet been checked that are adjacent to tiles that have been checked to see if locations matching the query are present. In the case of a unique location, the search ends when the desired location has been found. In the case of a class of locations, the search ends when the number of matching locations found meets or exceeds a predetermined number. The position of one or more of the locations is then communicated to a user.

This process can be performed iteratively with tiles of varying sizes going either from smaller to larger tiles, or larger to smaller. Additional information may be associated with the locations in the database. For example, the location may be associated with a name and phone number.

Reference is now made to the drawings, which illustrate one preferred search method according to the invention. In FIG. 1, a user has requested the locations of nearby fast food restaurants. Route distances to the restaurants are added to the current route, and are displayed as shown. In FIG. 2, the user has selected a McDonald's, and a route is provided that includes both the original and the new destination. FIG. 3 shows a map with locations that meet certain criteria, possibly fast-food restaurants. In FIG. 4, the map is divided into tiles numbered 1-16.

In FIG. 5, a user is in tile 6, and wishes to find at least the five closest locations meeting the criteria. Tile six is checked first, producing one matching location (FIG. 6). Since the requested number of matching locations has not yet been found, the tiles adjoining tile 6 are searched in FIG. 7, still producing only one candidate. In FIG. 8, however, tile 3 is searched, producing 3 matches. Finally, in FIG. 9, the adjoining tiles are further checked (i.e., 7, 11, 10, 9, 5, 1, 2) producing a total of 12 matching locations. If the number of locations found is greater than the number of locations requested, the search ends.

This invention is of particular use in a wireless client-server (WCS) navigator because it offers a way of searching for nearby location with very few computations, reducing the amount of time required to perform a search. This, in turn, reduces the number of servers that must be used to accommodate a given number of customers, and hence the operating cost of the navigator.

It is also of particular use in a wireless client-server navigator because the wireless client-server navigation architecture allows the navigator to access very large databases of locations which may be searched, as opposed to standalone navigators, in which such databases are typically smaller due to the cost of storing data onboard. 

1. A navigator database search method, comprising the steps of: dividing a map into tiles; associating locations within each tile with the tile they are in; and, when queried by a user for a location: a) checking the tile currently occupied by the user to determine if it contains any of the desired locations, b) checking the tile(s) adjacent to the currently occupied tile to determine if it contains any of the desired locations, c) checking the tile(s) adjacent to b) to determine if it contains any of the desired locations, and d) repeating the process, as necessary, until all tiles adjacent to tiles that have been checked are themselves checked that are to determine if locations matching the query are present; and communication the position of the location(s) to the user.
 2. The method of claim 1 wherein, in the case of a unique location, the search ends when the desired location has been found.
 3. The method of claim 1 wherein, in the case of a class of locations, the search ends when the number of matching locations found meets or exceeds a predetermined number.
 4. A method of providing guidance with a wireless client-server navigation system, comprising the steps of: receiving, at a mobile client, criteria associated with a desired location; transmitting data representative of the criteria to a central server; searching a database at the server for locations matching the criteria; transmitting data associated with found locations matching the criteria from the central server to the mobile client, including map data of a vicinity proximate to the found locations; presenting at the mobile client representations of the found locations and associated data; selecting one of the found locations at the mobile client; and providing guidance to the mobile client in the form of a moving map display showing the location of the mobile client, the location of the selected location, and guidance for traveling to the selected location.
 5. The method of claim 4, wherein the location of the mobile client is updated on a real-time basis.
 6. The method of claim 4, wherein the data associated with the found locations includes contact information.
 7. The method of claim 4, further including the step of presenting representations of additional distance or travel time required to add a found location to the user's current route.
 8. The method of claim 4, further including the step of amending a route to include the selected location.
 9. A method of providing guidance with a navigation system, comprising the steps of: partitioning a map into a plurality of geographic regions; associating a set of locations to one or more of the regions; receiving data representative of criteria for locations; checking the regions for locations matching the criteria, and adding any matches to a list of found locations until the number of locations found equals or exceeds a predetermined number; and checking the regions in the following order: a) an original region, b) regions adjacent to the original region, and c) regions that have not been checked and that are adjacent to regions that have been checked; presenting representations of found locations to a user; receiving a selection from the user for one of the found locations; and providing guidance to the selected location.
 10. The method of claim 9, wherein in a distance limit is specified and the search for matching locations is halted once the regions considered meet or exceed the distance limit from the starting location.
 11. The method of claim 9, wherein the criteria include one or more business categories, business names, or names of persons.
 12. The method of claim 9, wherein: multiple partitioning of the map are made, dividing the map into larger or smaller regions depending on the partitioning.
 13. The method of claim 12 wherein, if the search of a region under a given partitioning identifies more than a designated number of matches, a different partitioning with smaller regions is then used.
 14. The method of claim 12 wherein, if the search of a region under a given paritioning finds fewer than a designated number of matches, a different partitioning with larger regions is then used.
 15. The method of claim 9, wherein additional information is associated with the locations and presented after a search.
 16. A wireless client-server navigation system, comprising: mobile unit including: a wireless transmitter for transmitting data representative of a criteria for selection of a location, data representing a route, and a request for data representative of a location, a receiver for receiving the data representative of the location and associated data, and a user interface for presenting representations of locations representations of additional time or distance to be added to a route if locations are added to said route; and a central server including: an input for receiving data describing map-related features in the form of line segments interconnecting points having coordinates, a receiver for receiving the data, route, and request from the mobile unit, a processor for searching a database of locations according to said criteria and computing additional distance and time if locations are added to said route; and a transmitter for transmitting data representative of locations matching said criteria and associated data and data representative of additional distance and time to the mobile unit.
 17. A wireless client-server navigation system, comprising: a mobile unit including: a wireless transmitter for transmitting data representative of a criteria for selection of a location, data representing a route, and a request for data representative of a location, a receiver for receiving the data representative of the location and associated data, and a user interface for presenting representations of locations and representative of a route; and a central server including: an input for receiving data describing map-related features in the form of line segments interconnecting points having coordinates, a receiver for receiving the data, route, and request from the mobile unit, a processor for searching a database of locations according to said criteria and amending said route to include one or more locations matching said criteria; and a transmitter for transmitting data representative of locations matching said criteria and associated data and data representative of a amended route.
 18. A navigation system, comprising: an input for receiving data describing map-related features in the form of line segments interconnecting points having coordinates, an input for receiving criteria, an output for presenting representations of locations routes, and associated information; and a processor for portioning a map into geographic regions, associating locations in a database with said regions, searching a database for locations matching criteria with the database considering in turn sets of locations associated with a starting region, then regions adjacent to the starting regions, then continuing to consider regions adjacent to regions already considered.
 19. The system of claim 18, wherein the processor halts its search for locations matching criteria once all regions within a designated distance limit from the staring region have been considered.
 20. The system of claim 187 wherein the criteria include one or more business categories, business names, or names of persons.
 21. The system of claim 18, wherein the processor makes multiple partitionings of the map into larger or smaller regions depending on the partitioning; and where the processor, when it finds more than a designated number of matches to its search for locations matching criteria, uses a different partitioning with smaller regions.
 22. The system of claim 18, wherein: the processor makes multiple partitionings of the map into larger or smaller regions depending on the partitioning; and when it finds fewer than a designated number of matches to its search for locations matching criteria, the processor uses a different partitioning with larger regions.
 23. The system of claim 18, wherein additional information is associated with the locations and presented after a search.
 24. A wireless client-server navigation system, comprising: a mobile unit including: a wireless transmitter for transmitting data representative of a criteria for selection of a location, and a request for data representative of a location, a receiver for receiving the data representative of the location, and a user interface for presenting representations of locations; and a central server including: an input for receiving data describing map-related features in the form of line segments interconnecting points having coordinates, a receiver for receiving criteria and request from the mobile unit, a processor for portioning a map into geographic regions, associating locations in a database with said regions, searching a database for locations matching criteria with the database considering in turn sets of locations associated with a starting region, then regions adjacent to the starting regions, then continuing to consider regions adjacent to regions already considered; and a transmitter for transmitting data representative of locations matching said criteria. 